package servidor;

import java.io.Serializable;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name = "ATIVIDADE_DISPONIVEL", schema = "servidor")
public class AtividadeDisponivel implements Serializable {
	private static final long serialVersionUID = 1L;
	@Id
	@Column(name = "COD_ATIVIDADE", nullable = false)
	private String codAtividade;
	@Column(name = "COD_DISCIPLINA", nullable = false)
	private String codDisciplina;
	@Column(name = "COD_TURMA", nullable = false)
	private String codTurma;
	@Column(name = "ANO_TURMA", nullable = false)
	private int anoTurma;
	@Column(name = "DAT_LIBERACAO", nullable = false)
	@Temporal(TemporalType.TIMESTAMP)
	private Date dataLiberacao;
	@Column(name = "DAT_ENCERRAMENTO", nullable = true)
	@Temporal(TemporalType.TIMESTAMP)
	private Date dataEncerramento;
	@Column(name = "FLG_DISPONIVEL", nullable = false)
	private int isDisponivel;
	@Column(name = "VAL_ATIVIDADE", nullable = true)
	private String valorAtividade;

	public String getValorAtividade() {
		return valorAtividade;
	}

	public void setValorAtividade(String valorAtividade) {
		this.valorAtividade = valorAtividade;
	}

	public AtividadeDisponivel(String codAtv, String codDis, String codTurma,
			int anoTurma, String datL, String datE, int isDisponivel,
			String valorAtividade) {
		setCodAtividade(codAtv);
		setCodDisciplina(codDis);
		setCodTurma(codTurma);
		setAnoTurma(anoTurma);
		setDataLiberacao(datL);
		setDataEncerramento(datE);
		setIsDisponivel(isDisponivel);
		setValorAtividade(valorAtividade);
	}

	public int getIsDisponivel() {
		return isDisponivel;
	}

	public void setIsDisponivel(int isDisponivel) {
		this.isDisponivel = isDisponivel;
	}

	public String getCodAtividade() {
		return codAtividade;
	}

	public void setCodAtividade(String codAtividade) {
		this.codAtividade = codAtividade;
	}

	public String getCodDisciplina() {
		return codDisciplina;
	}

	public void setCodDisciplina(String codDisciplina) {
		this.codDisciplina = codDisciplina;
	}

	public String getCodTurma() {
		return codTurma;
	}

	public void setCodTurma(String codTurma) {
		this.codTurma = codTurma;
	}

	public int getAnoTurma() {
		return anoTurma;
	}

	public void setAnoTurma(int anoTurma) {
		this.anoTurma = anoTurma;
	}

	public Date getDataLiberacao() {
		return dataLiberacao;
	}

	public void setDataLiberacao(String dataLiberacao) {
		this.dataLiberacao = converteData(dataLiberacao);
	}

	public Date getDataEncerramento() {
		return dataEncerramento;
	}

	public void setDataEncerramento(String dataEncerramento) {
		this.dataEncerramento = converteData(dataEncerramento);
	}

	public String toString() {
		return "||" + getCodAtividade() + '|' + getCodDisciplina() + '|'
				+ getCodTurma() + '|' + getAnoTurma() + '|'
				+ getDataLiberacao() + '|' + getDataEncerramento() + "||";
	}

	public AtividadeDisponivel() {
	}

	private Date converteData(String data) {  
	    Date date = null;  
	    try {  
	        SimpleDateFormat dtOutput = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");  
	        date = dtOutput.parse(data);
	    }
	    catch (ParseException e) {  
	        e.printStackTrace();  
	    }  
	    return date;  
	}
}
